<?php
class ItsCustProductsController extends AppController {
    var $name = 'ItsCustProducts';

    var $viewPath = 'its/inventories/its_cust_products';

    var $uses = array('Customer', 'Site', 'CustProductSite', 'VSCustomer');

    /**
     * mode ใน action นี้จริง ๆไม่ใช่  add กับ edit แต่เพื่อความเหมือนกันจึงเรียกเป็น 2 mode นี้
     * ที่จริงควรเป็น mode
     * 1 ยังไม่ได้เลือก Customer => ไม่ไปเรียก ItsCustProductSites ต่อ (add)
     * 2 เลือก Customer แล้ว => ไปเรียก ItsCustProductSites ต่อ (edit)
     */
    function view() {
        if (!empty($this->params['named']['customer_id'])) {
            $customer_id = $this->params['named']['customer_id'];
            $product_id = $this->params['named']['product_id'];

            $this->set('sites', $this->Site->findAllByCustomerId($customer_id));
            $this->data['CustProduct']['customer_id'] = $customer_id;
            $this->data['CustProduct']['product_id'] = $product_id;
            $this->Session->write("{$this->name}.customer_id", $customer_id);   // จำไว้สำหรับ paging neighbors
            $this->set('mode', 'edit');
        // เรียกหน้านี้ครั้งแรก แสดง Customer List อย่างเดียว
        } elseif (isset($this->params['named']['product_id'])) {
            $this->data['CustProduct']['product_id'] = $this->params['named']['product_id'];
            $this->Session->del("{$this->name}.customer_id");
            $this->set('mode', 'add');
        }

        // ถ้าเป็น หน้า Consignment list ของ Supplier เอาเฉพาะลูกค้าที่ view ได้
        if ($this->Auth->user('prefix') == SUPPLIER_PREFIX) {
            $this->set('customers', $this->VSCustomer->find('list', array('conditions' => array('supplier_id' => $this->Auth->user('supplier_id')))));
        } else {    // ของ ITS ดูทั้งหมด
            $this->set('customers', $this->Customer->find('list'));
        }
    }
}
?>
